
#
#   #####   #######           #     #     #     #     #     #
# ##     #  #     #          # #    #  #  #    # #     #   #
# ##        #     #         #   #   #  #  #   #   #     # #
# ##  ####  #     #        #     #  #  #  #  #     #     #
# ##     #  #     #        #######  #  #  #  #######     #      ###
# ##     #  #     #        #     #  #  #  #  #     #     #      ###
# # #####   #######        #     #   ## ##   #     #     #      ###
#
# Seriously. You shouldn't even be looking at this file unless you're
# debugging generate_mozbuild.py.
#
# DO NOT MODIFY THIS FILE IT IS AUTOGENERATED.
#

skia_opt_flags = []

if CONFIG['MOZ_OPTIMIZE']:
    if CONFIG['_MSC_VER']:
        skia_opt_flags += ['-O2']
    elif CONFIG['GNU_CC']:
        skia_opt_flags += ['-O2']

SOURCES += [
    'skia/src/core/SkAAClip.cpp',
    'skia/src/core/SkAlphaRuns.cpp',
    'skia/src/core/SkAnnotation.cpp',
    'skia/src/core/SkAutoPixmapStorage.cpp',
    'skia/src/core/SkBBHFactory.cpp',
    'skia/src/core/SkBigPicture.cpp',
    'skia/src/core/SkBitmap.cpp',
    'skia/src/core/SkBitmapCache.cpp',
    'skia/src/core/SkBitmapController.cpp',
    'skia/src/core/SkBitmapDevice.cpp',
    'skia/src/core/SkBitmapProcShader.cpp',
    'skia/src/core/SkBitmapProvider.cpp',
    'skia/src/core/SkBitmapScaler.cpp',
    'skia/src/core/SkBlurImageFilter.cpp',
    'skia/src/core/SkBuffer.cpp',
    'skia/src/core/SkCachedData.cpp',
    'skia/src/core/SkCanvas.cpp',
    'skia/src/core/SkChunkAlloc.cpp',
    'skia/src/core/SkClipStack.cpp',
    'skia/src/core/SkColor.cpp',
    'skia/src/core/SkColorFilter.cpp',
    'skia/src/core/SkColorFilterShader.cpp',
    'skia/src/core/SkColorMatrixFilterRowMajor255.cpp',
    'skia/src/core/SkColorShader.cpp',
    'skia/src/core/SkColorTable.cpp',
    'skia/src/core/SkComposeShader.cpp',
    'skia/src/core/SkConfig8888.cpp',
    'skia/src/core/SkConvolver.cpp',
    'skia/src/core/SkCpu.cpp',
    'skia/src/core/SkCubicClipper.cpp',
    'skia/src/core/SkData.cpp',
    'skia/src/core/SkDataTable.cpp',
    'skia/src/core/SkDebug.cpp',
    'skia/src/core/SkDeque.cpp',
    'skia/src/core/SkDevice.cpp',
    'skia/src/core/SkDeviceLooper.cpp',
    'skia/src/core/SkDeviceProfile.cpp',
    'skia/src/core/SkDistanceFieldGen.cpp',
    'skia/src/core/SkDither.cpp',
    'skia/src/core/SkDocument.cpp',
    'skia/src/core/SkDraw.cpp',
    'skia/src/core/SkDrawable.cpp',
    'skia/src/core/SkDrawLooper.cpp',
    'skia/src/core/SkEdge.cpp',
    'skia/src/core/SkEdgeBuilder.cpp',
    'skia/src/core/SkEdgeClipper.cpp',
    'skia/src/core/SkError.cpp',
    'skia/src/core/SkFilterProc.cpp',
    'skia/src/core/SkFlattenable.cpp',
    'skia/src/core/SkFlattenableSerialization.cpp',
    'skia/src/core/SkFont.cpp',
    'skia/src/core/SkFontDescriptor.cpp',
    'skia/src/core/SkFontLCDConfig.cpp',
    'skia/src/core/SkFontMgr.cpp',
    'skia/src/core/SkFontStream.cpp',
    'skia/src/core/SkFontStyle.cpp',
    'skia/src/core/SkForceCPlusPlusLinking.cpp',
    'skia/src/core/SkGeometry.cpp',
    'skia/src/core/SkGlobalInitialization_core.cpp',
    'skia/src/core/SkGlyphCache.cpp',
    'skia/src/core/SkGpuBlurUtils.cpp',
    'skia/src/core/SkGraphics.cpp',
    'skia/src/core/SkHalf.cpp',
    'skia/src/core/SkImageCacherator.cpp',
    'skia/src/core/SkImageFilter.cpp',
    'skia/src/core/SkImageFilterCache.cpp',
    'skia/src/core/SkImageGenerator.cpp',
    'skia/src/core/SkImageInfo.cpp',
    'skia/src/core/SkLatticeIter.cpp',
    'skia/src/core/SkLinearBitmapPipeline.cpp',
    'skia/src/core/SkLineClipper.cpp',
    'skia/src/core/SkLocalMatrixImageFilter.cpp',
    'skia/src/core/SkLocalMatrixShader.cpp',
    'skia/src/core/SkMallocPixelRef.cpp',
    'skia/src/core/SkMask.cpp',
    'skia/src/core/SkMaskCache.cpp',
    'skia/src/core/SkMaskFilter.cpp',
    'skia/src/core/SkMaskGamma.cpp',
    'skia/src/core/SkMath.cpp',
    'skia/src/core/SkMatrixImageFilter.cpp',
    'skia/src/core/SkMetaData.cpp',
    'skia/src/core/SkMipMap.cpp',
    'skia/src/core/SkModeColorFilter.cpp',
    'skia/src/core/SkMultiPictureDraw.cpp',
    'skia/src/core/SkPaint.cpp',
    'skia/src/core/SkPaintPriv.cpp',
    'skia/src/core/SkPath.cpp',
    'skia/src/core/SkPathEffect.cpp',
    'skia/src/core/SkPathMeasure.cpp',
    'skia/src/core/SkPathRef.cpp',
    'skia/src/core/SkPicture.cpp',
    'skia/src/core/SkPictureAnalyzer.cpp',
    'skia/src/core/SkPictureContentInfo.cpp',
    'skia/src/core/SkPictureFlat.cpp',
    'skia/src/core/SkPictureImageGenerator.cpp',
    'skia/src/core/SkPicturePlayback.cpp',
    'skia/src/core/SkPictureRecord.cpp',
    'skia/src/core/SkPictureRecorder.cpp',
    'skia/src/core/SkPictureShader.cpp',
    'skia/src/core/SkPixelRef.cpp',
    'skia/src/core/SkPixmap.cpp',
    'skia/src/core/SkPoint.cpp',
    'skia/src/core/SkPoint3.cpp',
    'skia/src/core/SkPtrRecorder.cpp',
    'skia/src/core/SkQuadClipper.cpp',
    'skia/src/core/SkRasterClip.cpp',
    'skia/src/core/SkRasterizer.cpp',
    'skia/src/core/SkRasterPipeline.cpp',
    'skia/src/core/SkRasterPipelineBlitter.cpp',
    'skia/src/core/SkReadBuffer.cpp',
    'skia/src/core/SkRecord.cpp',
    'skia/src/core/SkRecordDraw.cpp',
    'skia/src/core/SkRecordedDrawable.cpp',
    'skia/src/core/SkRecordOpts.cpp',
    'skia/src/core/SkRecords.cpp',
    'skia/src/core/SkRect.cpp',
    'skia/src/core/SkRefDict.cpp',
    'skia/src/core/SkRegion.cpp',
    'skia/src/core/SkRegion_path.cpp',
    'skia/src/core/SkResourceCache.cpp',
    'skia/src/core/SkRRect.cpp',
    'skia/src/core/SkRTree.cpp',
    'skia/src/core/SkRWBuffer.cpp',
    'skia/src/core/SkScalar.cpp',
    'skia/src/core/SkScalerContext.cpp',
    'skia/src/core/SkScan.cpp',
    'skia/src/core/SkScan_AntiPath.cpp',
    'skia/src/core/SkScan_Hairline.cpp',
    'skia/src/core/SkScan_Path.cpp',
    'skia/src/core/SkSemaphore.cpp',
    'skia/src/core/SkShader.cpp',
    'skia/src/core/SkSharedMutex.cpp',
    'skia/src/core/SkSpanProcs.cpp',
    'skia/src/core/SkSpecialImage.cpp',
    'skia/src/core/SkSpecialSurface.cpp',
    'skia/src/core/SkSpinlock.cpp',
    'skia/src/core/SkSRGB.cpp',
    'skia/src/core/SkStream.cpp',
    'skia/src/core/SkString.cpp',
    'skia/src/core/SkStringUtils.cpp',
    'skia/src/core/SkStroke.cpp',
    'skia/src/core/SkStrokeRec.cpp',
    'skia/src/core/SkStrokerPriv.cpp',
    'skia/src/core/SkSwizzle.cpp',
    'skia/src/core/SkTaskGroup.cpp',
    'skia/src/core/SkTextBlob.cpp',
    'skia/src/core/SkThreadID.cpp',
    'skia/src/core/SkTime.cpp',
    'skia/src/core/SkTLS.cpp',
    'skia/src/core/SkTSearch.cpp',
    'skia/src/core/SkTypeface.cpp',
    'skia/src/core/SkTypefaceCache.cpp',
    'skia/src/core/SkUnPreMultiply.cpp',
    'skia/src/core/SkUtils.cpp',
    'skia/src/core/SkValidatingReadBuffer.cpp',
    'skia/src/core/SkVarAlloc.cpp',
    'skia/src/core/SkVertState.cpp',
    'skia/src/core/SkWriteBuffer.cpp',
    'skia/src/core/SkWriter32.cpp',
    'skia/src/core/SkYUVPlanesCache.cpp',
    'skia/src/effects/gradients/Sk4fGradientBase.cpp',
    'skia/src/effects/gradients/Sk4fLinearGradient.cpp',
    'skia/src/effects/gradients/SkClampRange.cpp',
    'skia/src/effects/gradients/SkGradientBitmapCache.cpp',
    'skia/src/effects/gradients/SkGradientShader.cpp',
    'skia/src/effects/gradients/SkLinearGradient.cpp',
    'skia/src/effects/gradients/SkRadialGradient.cpp',
    'skia/src/effects/gradients/SkSweepGradient.cpp',
    'skia/src/effects/gradients/SkTwoPointConicalGradient.cpp',
    'skia/src/effects/SkDashPathEffect.cpp',
    'skia/src/effects/SkImageSource.cpp',
    'skia/src/effects/SkLayerRasterizer.cpp',
    'skia/src/image/SkImage.cpp',
    'skia/src/image/SkImage_Generator.cpp',
    'skia/src/image/SkImage_Raster.cpp',
    'skia/src/image/SkImageShader.cpp',
    'skia/src/image/SkSurface.cpp',
    'skia/src/image/SkSurface_Raster.cpp',
    'skia/src/lazy/SkDiscardableMemoryPool.cpp',
    'skia/src/lazy/SkDiscardablePixelRef.cpp',
    'skia/src/pathops/SkAddIntersections.cpp',
    'skia/src/pathops/SkDConicLineIntersection.cpp',
    'skia/src/pathops/SkDCubicLineIntersection.cpp',
    'skia/src/pathops/SkDCubicToQuads.cpp',
    'skia/src/pathops/SkDLineIntersection.cpp',
    'skia/src/pathops/SkDQuadLineIntersection.cpp',
    'skia/src/pathops/SkIntersections.cpp',
    'skia/src/pathops/SkOpAngle.cpp',
    'skia/src/pathops/SkOpBuilder.cpp',
    'skia/src/pathops/SkOpCoincidence.cpp',
    'skia/src/pathops/SkOpContour.cpp',
    'skia/src/pathops/SkOpCubicHull.cpp',
    'skia/src/pathops/SkOpEdgeBuilder.cpp',
    'skia/src/pathops/SkOpSegment.cpp',
    'skia/src/pathops/SkOpSpan.cpp',
    'skia/src/pathops/SkPathOpsCommon.cpp',
    'skia/src/pathops/SkPathOpsConic.cpp',
    'skia/src/pathops/SkPathOpsCubic.cpp',
    'skia/src/pathops/SkPathOpsCurve.cpp',
    'skia/src/pathops/SkPathOpsLine.cpp',
    'skia/src/pathops/SkPathOpsOp.cpp',
    'skia/src/pathops/SkPathOpsPoint.cpp',
    'skia/src/pathops/SkPathOpsQuad.cpp',
    'skia/src/pathops/SkPathOpsRect.cpp',
    'skia/src/pathops/SkPathOpsSimplify.cpp',
    'skia/src/pathops/SkPathOpsTightBounds.cpp',
    'skia/src/pathops/SkPathOpsTSect.cpp',
    'skia/src/pathops/SkPathOpsTypes.cpp',
    'skia/src/pathops/SkPathOpsWinding.cpp',
    'skia/src/pathops/SkPathWriter.cpp',
    'skia/src/pathops/SkReduceOrder.cpp',
    'skia/src/pipe/SkPipeCanvas.cpp',
    'skia/src/pipe/SkPipeReader.cpp',
    'skia/src/ports/SkDiscardableMemory_none.cpp',
    'skia/src/ports/SkGlobalInitialization_default.cpp',
    'skia/src/ports/SkImageEncoder_none.cpp',
    'skia/src/ports/SkImageGenerator_none.cpp',
    'skia/src/ports/SkMemory_mozalloc.cpp',
    'skia/src/ports/SkOSFile_stdio.cpp',
    'skia/src/sfnt/SkOTTable_name.cpp',
    'skia/src/sfnt/SkOTUtils.cpp',
    'skia/src/utils/SkBase64.cpp',
    'skia/src/utils/SkBitmapSourceDeserializer.cpp',
    'skia/src/utils/SkDashPath.cpp',
    'skia/src/utils/SkEventTracer.cpp',
    'skia/src/utils/SkMatrix22.cpp',
    'skia/src/utils/SkOSFile.cpp',
    'skia/src/utils/SkPatchUtils.cpp',
    'skia/src/utils/SkRGBAToYUV.cpp',
    'skia/src/utils/SkTextureCompressor.cpp',
    'skia/src/utils/SkTextureCompressor_ASTC.cpp',
    'skia/src/utils/SkTextureCompressor_LATC.cpp',
    'skia/src/utils/SkTextureCompressor_R11EAC.cpp',
]
SOURCES += [
    'skia/src/core/SkBitmapProcState.cpp',
    'skia/src/core/SkBitmapProcState_matrixProcs.cpp',
    'skia/src/core/SkBlitMask_D32.cpp',
    'skia/src/core/SkBlitRow_D16.cpp',
    'skia/src/core/SkBlitRow_D32.cpp',
    'skia/src/core/SkBlitter.cpp',
    'skia/src/core/SkBlitter_A8.cpp',
    'skia/src/core/SkBlitter_ARGB32.cpp',
    'skia/src/core/SkBlitter_PM4f.cpp',
    'skia/src/core/SkBlitter_RGB16.cpp',
    'skia/src/core/SkBlitter_Sprite.cpp',
    'skia/src/core/SkColorSpace.cpp',
    'skia/src/core/SkColorSpace_ICC.cpp',
    'skia/src/core/SkColorSpaceXform.cpp',
    'skia/src/core/SkMatrix.cpp',
    'skia/src/core/SkMatrix44.cpp',
    'skia/src/core/SkMiniRecorder.cpp',
    'skia/src/core/SkOpts.cpp',
    'skia/src/core/SkPictureData.cpp',
    'skia/src/core/SkRecorder.cpp',
    'skia/src/core/SkScan_Antihair.cpp',
    'skia/src/core/SkSpriteBlitter4f.cpp',
    'skia/src/core/SkSpriteBlitter_ARGB32.cpp',
    'skia/src/core/SkSpriteBlitter_RGB16.cpp',
    'skia/src/core/SkXfermode.cpp',
    'skia/src/core/SkXfermode4f.cpp',
    'skia/src/core/SkXfermodeF16.cpp',
    'skia/src/core/SkXfermodeInterpretation.cpp',
    'skia/src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
    'skia/src/pathops/SkPathOpsDebug.cpp',
    'skia/src/utils/SkParse.cpp',
    'skia/src/utils/SkParsePath.cpp',
]
SOURCES['skia/src/core/SkBitmapProcState.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBitmapProcState_matrixProcs.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitMask_D32.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitRow_D16.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitRow_D32.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitter.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitter_A8.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitter_ARGB32.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitter_PM4f.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitter_RGB16.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkBlitter_Sprite.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkMatrix.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkOpts.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkSpriteBlitter4f.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkSpriteBlitter_ARGB32.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkSpriteBlitter_RGB16.cpp'].flags += skia_opt_flags
if CONFIG['MOZ_ENABLE_SKIA_PDF']:
    SOURCES += [
        'skia/src/core/SkMD5.cpp',
        'skia/src/pdf/SkDeflate.cpp',
        'skia/src/pdf/SkJpegInfo.cpp',
        'skia/src/pdf/SkPDFBitmap.cpp',
        'skia/src/pdf/SkPDFCanon.cpp',
        'skia/src/pdf/SkPDFCanvas.cpp',
        'skia/src/pdf/SkPDFConvertType1FontStream.cpp',
        'skia/src/pdf/SkPDFDevice.cpp',
        'skia/src/pdf/SkPDFDocument.cpp',
        'skia/src/pdf/SkPDFFormXObject.cpp',
        'skia/src/pdf/SkPDFGraphicState.cpp',
        'skia/src/pdf/SkPDFMakeCIDGlyphWidthsArray.cpp',
        'skia/src/pdf/SkPDFMakeToUnicodeCmap.cpp',
        'skia/src/pdf/SkPDFMetadata.cpp',
        'skia/src/pdf/SkPDFResourceDict.cpp',
        'skia/src/pdf/SkPDFShader.cpp',
        'skia/src/pdf/SkPDFTypes.cpp',
        'skia/src/pdf/SkPDFUtils.cpp',
    ]
    SOURCES += [
        'skia/src/pdf/SkPDFFont.cpp',
    ]
if CONFIG['MOZ_ENABLE_SKIA_GPU']:
    SOURCES += [
        'skia/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp',
        'skia/src/gpu/batches/GrAnalyticRectBatch.cpp',
        'skia/src/gpu/batches/GrAtlasTextBatch.cpp',
        'skia/src/gpu/batches/GrBatch.cpp',
        'skia/src/gpu/batches/GrCopySurfaceBatch.cpp',
        'skia/src/gpu/batches/GrDashLinePathRenderer.cpp',
        'skia/src/gpu/batches/GrDefaultPathRenderer.cpp',
        'skia/src/gpu/batches/GrDrawAtlasBatch.cpp',
        'skia/src/gpu/batches/GrDrawBatch.cpp',
        'skia/src/gpu/batches/GrDrawPathBatch.cpp',
        'skia/src/gpu/batches/GrDrawVerticesBatch.cpp',
        'skia/src/gpu/batches/GrNinePatch.cpp',
        'skia/src/gpu/batches/GrNonAAStrokeRectBatch.cpp',
        'skia/src/gpu/batches/GrPLSPathRenderer.cpp',
        'skia/src/gpu/batches/GrRectBatchFactory.cpp',
        'skia/src/gpu/batches/GrRegionBatch.cpp',
        'skia/src/gpu/batches/GrStencilAndCoverPathRenderer.cpp',
        'skia/src/gpu/batches/GrTessellatingPathRenderer.cpp',
        'skia/src/gpu/batches/GrVertexBatch.cpp',
        'skia/src/gpu/effects/GrBezierEffect.cpp',
        'skia/src/gpu/effects/GrBicubicEffect.cpp',
        'skia/src/gpu/effects/GrBitmapTextGeoProc.cpp',
        'skia/src/gpu/effects/GrConfigConversionEffect.cpp',
        'skia/src/gpu/effects/GrConstColorProcessor.cpp',
        'skia/src/gpu/effects/GrConvexPolyEffect.cpp',
        'skia/src/gpu/effects/GrConvolutionEffect.cpp',
        'skia/src/gpu/effects/GrCoverageSetOpXP.cpp',
        'skia/src/gpu/effects/GrCustomXfermode.cpp',
        'skia/src/gpu/effects/GrDashingEffect.cpp',
        'skia/src/gpu/effects/GrDisableColorXP.cpp',
        'skia/src/gpu/effects/GrDistanceFieldGeoProc.cpp',
        'skia/src/gpu/effects/GrDitherEffect.cpp',
        'skia/src/gpu/effects/GrGammaEffect.cpp',
        'skia/src/gpu/effects/GrMatrixConvolutionEffect.cpp',
        'skia/src/gpu/effects/GrOvalEffect.cpp',
        'skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp',
        'skia/src/gpu/effects/GrRRectEffect.cpp',
        'skia/src/gpu/effects/GrSimpleTextureEffect.cpp',
        'skia/src/gpu/effects/GrSingleTextureEffect.cpp',
        'skia/src/gpu/effects/GrTextureDomain.cpp',
        'skia/src/gpu/effects/GrTextureStripAtlas.cpp',
        'skia/src/gpu/effects/GrXfermodeFragmentProcessor.cpp',
        'skia/src/gpu/effects/GrYUVEffect.cpp',
        'skia/src/gpu/GrAuditTrail.cpp',
        'skia/src/gpu/GrBatchFlushState.cpp',
        'skia/src/gpu/GrBatchTest.cpp',
        'skia/src/gpu/GrBlend.cpp',
        'skia/src/gpu/GrBlurUtils.cpp',
        'skia/src/gpu/GrBuffer.cpp',
        'skia/src/gpu/GrBufferAllocPool.cpp',
        'skia/src/gpu/GrCaps.cpp',
        'skia/src/gpu/GrClipStackClip.cpp',
        'skia/src/gpu/GrColorSpaceXform.cpp',
        'skia/src/gpu/GrContext.cpp',
        'skia/src/gpu/GrCoordTransform.cpp',
        'skia/src/gpu/GrDefaultGeoProcFactory.cpp',
        'skia/src/gpu/GrDrawingManager.cpp',
        'skia/src/gpu/GrDrawTarget.cpp',
        'skia/src/gpu/GrFixedClip.cpp',
        'skia/src/gpu/GrFragmentProcessor.cpp',
        'skia/src/gpu/GrGpu.cpp',
        'skia/src/gpu/GrGpuCommandBuffer.cpp',
        'skia/src/gpu/GrGpuFactory.cpp',
        'skia/src/gpu/GrGpuResource.cpp',
        'skia/src/gpu/GrGpuResourceRef.cpp',
        'skia/src/gpu/GrImageIDTextureAdjuster.cpp',
        'skia/src/gpu/GrInvariantOutput.cpp',
        'skia/src/gpu/GrMemoryPool.cpp',
        'skia/src/gpu/GrOvalRenderer.cpp',
        'skia/src/gpu/GrPaint.cpp',
        'skia/src/gpu/GrPath.cpp',
        'skia/src/gpu/GrPathProcessor.cpp',
        'skia/src/gpu/GrPathRange.cpp',
        'skia/src/gpu/GrPathRenderer.cpp',
        'skia/src/gpu/GrPathRendererChain.cpp',
        'skia/src/gpu/GrPathRendering.cpp',
        'skia/src/gpu/GrPathRenderingDrawContext.cpp',
        'skia/src/gpu/GrPathUtils.cpp',
        'skia/src/gpu/GrPipeline.cpp',
        'skia/src/gpu/GrPipelineBuilder.cpp',
        'skia/src/gpu/GrPrimitiveProcessor.cpp',
        'skia/src/gpu/GrProcessor.cpp',
        'skia/src/gpu/GrProcessorUnitTest.cpp',
        'skia/src/gpu/GrProcOptInfo.cpp',
        'skia/src/gpu/GrProgramDesc.cpp',
        'skia/src/gpu/GrProgramElement.cpp',
        'skia/src/gpu/GrRectanizer_pow2.cpp',
        'skia/src/gpu/GrRectanizer_skyline.cpp',
        'skia/src/gpu/GrReducedClip.cpp',
        'skia/src/gpu/GrRenderTarget.cpp',
        'skia/src/gpu/GrRenderTargetProxy.cpp',
        'skia/src/gpu/GrResourceProvider.cpp',
        'skia/src/gpu/GrShape.cpp',
        'skia/src/gpu/GrSoftwarePathRenderer.cpp',
        'skia/src/gpu/GrStencilAttachment.cpp',
        'skia/src/gpu/GrStencilSettings.cpp',
        'skia/src/gpu/GrStyle.cpp',
        'skia/src/gpu/GrSurface.cpp',
        'skia/src/gpu/GrSurfaceProxy.cpp',
        'skia/src/gpu/GrSWMaskHelper.cpp',
        'skia/src/gpu/GrTessellator.cpp',
        'skia/src/gpu/GrTestUtils.cpp',
        'skia/src/gpu/GrTexture.cpp',
        'skia/src/gpu/GrTextureAccess.cpp',
        'skia/src/gpu/GrTextureParamsAdjuster.cpp',
        'skia/src/gpu/GrTextureProvider.cpp',
        'skia/src/gpu/GrTextureProxy.cpp',
        'skia/src/gpu/GrTextureToYUVPlanes.cpp',
        'skia/src/gpu/GrTraceMarker.cpp',
        'skia/src/gpu/GrXferProcessor.cpp',
        'skia/src/gpu/GrYUVProvider.cpp',
        'skia/src/gpu/instanced/GLInstancedRendering.cpp',
        'skia/src/gpu/instanced/InstancedRendering.cpp',
        'skia/src/gpu/instanced/InstanceProcessor.cpp',
        'skia/src/gpu/SkGpuDevice.cpp',
        'skia/src/gpu/SkGpuDevice_drawTexture.cpp',
        'skia/src/gpu/SkGr.cpp',
        'skia/src/gpu/text/GrAtlasTextBlob.cpp',
        'skia/src/gpu/text/GrAtlasTextBlob_regenInBatch.cpp',
        'skia/src/gpu/text/GrAtlasTextContext.cpp',
        'skia/src/gpu/text/GrBatchFontCache.cpp',
        'skia/src/gpu/text/GrDistanceFieldAdjustTable.cpp',
        'skia/src/gpu/text/GrStencilAndCoverTextContext.cpp',
        'skia/src/gpu/text/GrTextBlobCache.cpp',
        'skia/src/gpu/text/GrTextUtils.cpp',
        'skia/src/image/SkSurface_Gpu.cpp',
    ]
    SOURCES += [
        'skia/src/gpu/batches/GrAAConvexPathRenderer.cpp',
        'skia/src/gpu/batches/GrAAConvexTessellator.cpp',
        'skia/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp',
        'skia/src/gpu/batches/GrAAFillRectBatch.cpp',
        'skia/src/gpu/batches/GrAAHairLinePathRenderer.cpp',
        'skia/src/gpu/batches/GrAALinearizingConvexPathRenderer.cpp',
        'skia/src/gpu/batches/GrAAStrokeRectBatch.cpp',
        'skia/src/gpu/batches/GrMSAAPathRenderer.cpp',
        'skia/src/gpu/batches/GrNonAAFillRectBatch.cpp',
        'skia/src/gpu/batches/GrNonAAFillRectPerspectiveBatch.cpp',
        'skia/src/gpu/gl/builders/GrGLProgramBuilder.cpp',
        'skia/src/gpu/gl/builders/GrGLShaderStringBuilder.cpp',
        'skia/src/gpu/gl/builders/GrGLSLPrettyPrint.cpp',
        'skia/src/gpu/gl/GrGLBuffer.cpp',
        'skia/src/gpu/gl/GrGLCaps.cpp',
        'skia/src/gpu/gl/GrGLContext.cpp',
        'skia/src/gpu/gl/GrGLDefaultInterface_native.cpp',
        'skia/src/gpu/gl/GrGLExtensions.cpp',
        'skia/src/gpu/gl/GrGLGLSL.cpp',
        'skia/src/gpu/gl/GrGLGpu.cpp',
        'skia/src/gpu/gl/GrGLGpuProgramCache.cpp',
        'skia/src/gpu/gl/GrGLInterface.cpp',
        'skia/src/gpu/gl/GrGLPath.cpp',
        'skia/src/gpu/gl/GrGLPathRange.cpp',
        'skia/src/gpu/gl/GrGLPathRendering.cpp',
        'skia/src/gpu/gl/GrGLProgram.cpp',
        'skia/src/gpu/gl/GrGLProgramDataManager.cpp',
        'skia/src/gpu/gl/GrGLRenderTarget.cpp',
        'skia/src/gpu/gl/GrGLStencilAttachment.cpp',
        'skia/src/gpu/gl/GrGLTexture.cpp',
        'skia/src/gpu/gl/GrGLTextureRenderTarget.cpp',
        'skia/src/gpu/gl/GrGLUniformHandler.cpp',
        'skia/src/gpu/gl/GrGLUtil.cpp',
        'skia/src/gpu/gl/GrGLVaryingHandler.cpp',
        'skia/src/gpu/gl/GrGLVertexArray.cpp',
        'skia/src/gpu/glsl/GrGLSL.cpp',
        'skia/src/gpu/glsl/GrGLSLBlend.cpp',
        'skia/src/gpu/glsl/GrGLSLCaps.cpp',
        'skia/src/gpu/glsl/GrGLSLFragmentProcessor.cpp',
        'skia/src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp',
        'skia/src/gpu/glsl/GrGLSLGeometryProcessor.cpp',
        'skia/src/gpu/glsl/GrGLSLGeometryShaderBuilder.cpp',
        'skia/src/gpu/glsl/GrGLSLPrimitiveProcessor.cpp',
        'skia/src/gpu/glsl/GrGLSLProgramBuilder.cpp',
        'skia/src/gpu/glsl/GrGLSLProgramDataManager.cpp',
        'skia/src/gpu/glsl/GrGLSLShaderBuilder.cpp',
        'skia/src/gpu/glsl/GrGLSLUtil.cpp',
        'skia/src/gpu/glsl/GrGLSLVarying.cpp',
        'skia/src/gpu/glsl/GrGLSLVertexShaderBuilder.cpp',
        'skia/src/gpu/glsl/GrGLSLXferProcessor.cpp',
        'skia/src/gpu/GrBatchAtlas.cpp',
        'skia/src/gpu/GrDrawContext.cpp',
        'skia/src/gpu/GrResourceCache.cpp',
        'skia/src/image/SkImage_Gpu.cpp',
    ]
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
    SOURCES += [
        'skia/src/ports/SkDebug_android.cpp',
        'skia/src/ports/SkOSFile_posix.cpp',
        'skia/src/ports/SkOSLibrary_posix.cpp',
        'skia/src/ports/SkTLS_pthread.cpp',
        'skia/src/utils/SkThreadUtils_pthread.cpp',
    ]
    SOURCES += [
        'skia/src/ports/SkFontHost_cairo.cpp',
        'skia/src/ports/SkFontHost_FreeType_common.cpp',
    ]
if CONFIG['MOZ_WIDGET_TOOLKIT'] in {'uikit'}:
    SOURCES += [
        'skia/src/ports/SkDebug_stdio.cpp',
        'skia/src/ports/SkOSFile_posix.cpp',
        'skia/src/ports/SkOSLibrary_posix.cpp',
        'skia/src/ports/SkTLS_pthread.cpp',
        'skia/src/utils/mac/SkCreateCGImageRef.cpp',
        'skia/src/utils/mac/SkStream_mac.cpp',
        'skia/src/utils/SkThreadUtils_pthread.cpp',
    ]
    SOURCES += [
        'skia/src/ports/SkFontHost_mac.cpp',
    ]
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
    SOURCES += [
        'skia/src/ports/SkDebug_stdio.cpp',
        'skia/src/ports/SkOSFile_posix.cpp',
        'skia/src/ports/SkOSLibrary_posix.cpp',
        'skia/src/ports/SkTLS_pthread.cpp',
        'skia/src/utils/SkThreadUtils_pthread.cpp',
    ]
    SOURCES += [
        'skia/src/ports/SkFontHost_cairo.cpp',
        'skia/src/ports/SkFontHost_FreeType_common.cpp',
    ]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    SOURCES += [
        'skia/src/ports/SkDebug_win.cpp',
        'skia/src/ports/SkFontHost_win.cpp',
        'skia/src/ports/SkFontMgr_win_dw.cpp',
        'skia/src/ports/SkFontMgr_win_dw_factory.cpp',
        'skia/src/ports/SkOSFile_win.cpp',
        'skia/src/ports/SkOSLibrary_win.cpp',
        'skia/src/ports/SkRemotableFontMgr_win_dw.cpp',
        'skia/src/ports/SkScalerContext_win_dw.cpp',
        'skia/src/ports/SkTLS_win.cpp',
        'skia/src/ports/SkTypeface_win_dw.cpp',
        'skia/src/utils/SkThreadUtils_win.cpp',
        'skia/src/utils/win/SkAutoCoInitialize.cpp',
        'skia/src/utils/win/SkDWrite.cpp',
        'skia/src/utils/win/SkDWriteFontFileStream.cpp',
        'skia/src/utils/win/SkDWriteGeometrySink.cpp',
        'skia/src/utils/win/SkHRESULT.cpp',
        'skia/src/utils/win/SkIStream.cpp',
    ]
if CONFIG['INTEL_ARCHITECTURE']:
    SOURCES += [
        'skia/src/opts/opts_check_x86.cpp',
    ]
    SOURCES += [
        'skia/src/opts/SkBitmapFilter_opts_SSE2.cpp',
        'skia/src/opts/SkBitmapProcState_opts_SSE2.cpp',
        'skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp',
        'skia/src/opts/SkBlitRow_opts_SSE2.cpp',
        'skia/src/opts/SkOpts_avx.cpp',
        'skia/src/opts/SkOpts_hsw.cpp',
        'skia/src/opts/SkOpts_sse41.cpp',
        'skia/src/opts/SkOpts_sse42.cpp',
        'skia/src/opts/SkOpts_ssse3.cpp',
    ]
    SOURCES['skia/src/opts/SkBitmapFilter_opts_SSE2.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkBitmapProcState_opts_SSE2.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkBlitRow_opts_SSE2.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkOpts_sse41.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += skia_opt_flags
elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64') and CONFIG['GNU_CC']:
    SOURCES += [
        'skia/src/core/SkUtilsArm.cpp',
    ]
    SOURCES += [
        'skia/src/opts/SkBitmapProcState_opts_arm.cpp',
        'skia/src/opts/SkBlitMask_opts_arm.cpp',
        'skia/src/opts/SkBlitRow_opts_arm.cpp',
    ]
    SOURCES['skia/src/opts/SkBitmapProcState_opts_arm.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkBlitMask_opts_arm.cpp'].flags += skia_opt_flags
    SOURCES['skia/src/opts/SkBlitRow_opts_arm.cpp'].flags += skia_opt_flags
    if CONFIG['CPU_ARCH'] == 'aarch64':
        SOURCES += [
            'skia/src/opts/SkBitmapProcState_arm_neon.cpp',
            'skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
            'skia/src/opts/SkBlitMask_opts_arm_neon.cpp',
            'skia/src/opts/SkBlitRow_opts_arm_neon.cpp',
            'skia/src/opts/SkOpts_neon.cpp',
        ]
    elif CONFIG['BUILD_ARM_NEON']:
        SOURCES += [
            'skia/src/opts/SkBitmapProcState_arm_neon.cpp',
            'skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
            'skia/src/opts/SkBlitMask_opts_arm_neon.cpp',
            'skia/src/opts/SkBlitRow_opts_arm_neon.cpp',
            'skia/src/opts/SkOpts_neon.cpp',
        ]
        SOURCES['skia/src/opts/SkBitmapProcState_arm_neon.cpp'].flags += CONFIG['NEON_FLAGS']
        SOURCES['skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp'].flags += CONFIG['NEON_FLAGS']
        SOURCES['skia/src/opts/SkBlitMask_opts_arm_neon.cpp'].flags += CONFIG['NEON_FLAGS']
        SOURCES['skia/src/opts/SkBlitRow_opts_arm_neon.cpp'].flags += CONFIG['NEON_FLAGS']
        SOURCES['skia/src/opts/SkOpts_neon.cpp'].flags += CONFIG['NEON_FLAGS']
    if CONFIG['CPU_ARCH'] == 'aarch64' or CONFIG['BUILD_ARM_NEON']:
        SOURCES['skia/src/opts/SkBitmapProcState_arm_neon.cpp'].flags += skia_opt_flags
        SOURCES['skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp'].flags += skia_opt_flags
        SOURCES['skia/src/opts/SkBlitMask_opts_arm_neon.cpp'].flags += skia_opt_flags
        SOURCES['skia/src/opts/SkBlitRow_opts_arm_neon.cpp'].flags += skia_opt_flags
        SOURCES['skia/src/opts/SkOpts_neon.cpp'].flags += skia_opt_flags
else:
    SOURCES += [
        'skia/src/opts/SkBitmapProcState_opts_none.cpp',
        'skia/src/opts/SkBlitMask_opts_none.cpp',
        'skia/src/opts/SkBlitRow_opts_none.cpp',
    ]

# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True

FINAL_LIBRARY = 'xul'

LOCAL_INCLUDES += [
    'skia/include/c',
    'skia/include/config',
    'skia/include/core',
    'skia/include/effects',
    'skia/include/gpu',
    'skia/include/images',
    'skia/include/pathops',
    'skia/include/ports',
    'skia/include/private',
    'skia/include/utils',
    'skia/include/utils/mac',
    'skia/include/views',
    'skia/src/core',
    'skia/src/gpu',
    'skia/src/gpu/effects',
    'skia/src/gpu/gl',
    'skia/src/image',
    'skia/src/lazy',
    'skia/src/opts',
    'skia/src/sfnt',
    'skia/src/utils',
    'skia/src/utils/mac',
    'skia/src/utils/win',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
    DEFINES['SK_FONTHOST_CAIRO_STANDALONE'] = 0

if CONFIG['MOZ_WIDGET_TOOLKIT'] in {
    'android',
    'gtk2',
    'gtk3',
    'uikit',
  }:
    DEFINES['SK_FONTHOST_DOES_NOT_USE_FONTMGR'] = 1

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    DEFINES['UNICODE'] = True
    DEFINES['_UNICODE'] = True
    UNIFIED_SOURCES += [
        'skia/src/fonts/SkFontMgr_indirect.cpp',
        'skia/src/fonts/SkRemotableFontMgr.cpp',
    ]

# We should autogenerate these SSE related flags.

if CONFIG['_MSC_VER']:
    # MSVC doesn't need special compiler flags, but Skia needs to be told that these files should
    # be built with the required SSE level or it will simply compile in stubs and cause runtime crashes
    SOURCES['skia/src/opts/SkBitmapFilter_opts_SSE2.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=20']
    SOURCES['skia/src/opts/SkBitmapProcState_opts_SSE2.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=20']
    SOURCES['skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=31']
    SOURCES['skia/src/opts/SkBlitRow_opts_SSE2.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=20']
    SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=31']
    SOURCES['skia/src/opts/SkOpts_sse41.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=41']
    SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=42']
    SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-DSK_CPU_SSE_LEVEL=51']
if CONFIG['INTEL_ARCHITECTURE'] and (CONFIG['GNU_CC'] or CONFIG['CLANG_CL']):
    SOURCES['skia/src/opts/SkBitmapFilter_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
    SOURCES['skia/src/opts/SkBitmapProcState_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
    SOURCES['skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp'].flags += ['-mssse3']
    SOURCES['skia/src/opts/SkBlitRow_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
    SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-mssse3']
    SOURCES['skia/src/opts/SkOpts_sse41.cpp'].flags += ['-msse4.1']
    SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-msse4.2']
    SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-mavx']
elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC'] and CONFIG['BUILD_ARM_NEON']:
    DEFINES['SK_ARM_HAS_OPTIONAL_NEON'] = 1

DEFINES['SKIA_IMPLEMENTATION'] = 1

if not CONFIG['MOZ_ENABLE_SKIA_GPU']:
    DEFINES['SK_SUPPORT_GPU'] = 0

if CONFIG['MOZ_TREE_FREETYPE']:
    DEFINES['SK_CAN_USE_DLOPEN'] = 0

# Suppress warnings in third-party code.
if CONFIG['GNU_CXX'] or CONFIG['CLANG_CL']:
    CXXFLAGS += [
        '-Wno-deprecated-declarations',
        '-Wno-overloaded-virtual',
        '-Wno-shadow',
        '-Wno-sign-compare',
        '-Wno-unreachable-code',
        '-Wno-unused-function',
    ]
if CONFIG['GNU_CXX'] and not CONFIG['CLANG_CXX'] and not CONFIG['CLANG_CL']:
    CXXFLAGS += [
        '-Wno-logical-op',
        '-Wno-maybe-uninitialized',
    ]
if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
    CXXFLAGS += [
        '-Wno-implicit-fallthrough',
        '-Wno-inconsistent-missing-override',
        '-Wno-macro-redefined',
        '-Wno-unused-private-field',
    ]

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
    CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
    CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
    CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
